手动安装Python探针

Python应用安装探针后,ARMS即可开始监控Python应用,您可以查看应用拓扑、调用链路、SQL分析等一系列监控数据。本文介绍如何为Python应用手动安装探针。

说明
  • 对于部署在Kubernetes环境的应用,不推荐手动安装探针,建议通过安装组件的方式接入ARMS。具体操作,请参见容器服务ACK通过ack-onepilot组件安装Python探针

  • 如果您在使用Python探针过程中有任何问题,欢迎通过钉钉答疑群(群号:35568145)与我们联系。

前提条件

  • 确保您的编译环境和公网或阿里云内网连通,且编译环境所在安全组已开放80、443TCP出方向权限。

  • 检查您的Python版本和框架版本。具体要求,请参见Python探针兼容性要求

注意事项

  • 如果应用使用Unicorn启动,需要替换为Gunicorn。

    例如:

    unicorn -w 4 -b 0.0.0.0:8000 app:app

    修改为:

    gunicorn -w 4 -k uvicorn.workers.UvicornWorker -b 0.0.0.0:8000 app:app
  • 如果有使用gevent协程,则需要设置环境变量GEVENT_ENABLE=true

    例如程序中有使用:

    from gevent import monkey
    monkey.patch_all()

    需要设置环境变量如下:

    GEVENT_ENABLE=true

步骤一:下载并安装探针

  1. PyPI仓库下载探针安装器。

    pip3 install aliyun-bootstrap
  2. 使用aliyun-bootstrap安装Python探针。

    aliyun-bootstrap -a install

步骤二:配置环境变量

您需要手动为Python应用添加以下环境变量:

export ARMS_APP_NAME=xxx   # 应用名称。
export ARMS_REGION_ID=xxx   # 对应的阿里云账号的RegionID。
export ARMS_LICENSE_KEY=xxx   # 阿里云 LicenseKey。
export ARMS_IS_PUBLIC=True

其中LicenseKey可以通过OpenAPI获取,具体方法,参见DescribeTraceLicenseKey - 列出LicenseKey

(可选)Docker环境安装参考

对于Docker环境,可以参考以下Dockerfile示例修改您的Dockerfile文件。

# 添加环境变量
ENV ARMS_APP_NAME={AppName}
ENV ARMS_REGION_ID={regionId}
ENV ARMS_LICENSE_KEY={licenseKey}

## 原有环境

步骤三:启动应用

通过ARMS Python探针启动应用

aliyun-instrument python app.py

(可选)不使用Python探针启动的方式

在应用主入口文件引入Python探针,然后启动应用。

例如在main.py/app.py文件中引入Python探针。

from aliyun.opentelemetry.instrumentation.auto_instrumentation import  sitecustomize

结果验证

约一分钟后,若Python应用出现在ARMS控制台应用监控 > 应用列表页面中且有数据上报,则说明接入成功。

2024-09-23_17-45-22